1. Field of the Invention
The present invention relates to a packet switching system, a packet switching method, a routing apparatus, a structure of packet, and packet generating method, which are configured to transfer packets via a packet switching network that is configured by interconnecting a plurality of routing apparatuses.
2. Description of the Related Art
In the conventional packet switching network, such as the Internet for example, IP address is assigned to each host (terminal) so that a physical location of the host can be identified. Then a routing apparatus (hereinafter referred to as router) on the network performs forwarding of packets to a destination host, which is called “routing”, according to a routing table that shows a relationship between destination IP address and a next hop router.
Normally, various dynamic routing protocols, e.g., RIP, OSPF, are utilized in the router to generate routing tables. Respective routing protocols generate and update a routing table in the router based on the prescribed algorithm and the major difference between these routing protocols is how to handle the routing table, i.e., a routing policy.
FIG. 1 shows an internal configuration of a conventional router. As shown in FIG. 1, a conventional router 110 is configured with an input interface 111, a packet forwarder 112, an output interface 113, a routing protocol processor 116 and a routing table 106a. The input interface 111 has a packet receiver 114, a routing table searcher 115 and a routing table cache 106.
In the conventional router 110, when the packet receiver 114 receives a packet, a packet destined for the conventional router 110 itself is transferred to the routing protocol processor 116, and a packet destined for a router other than the conventional router 110 is transferred to the routing table searcher 115. The routing protocol processor 116 updates the routing table 106a according to the received packet destined for the conventional router 110 itself and stores the updated routing table in the routing table cache 106. The routing table searcher 115 decides on an output interface by searching the routing table cache 106 for the received packet destined for other than the conventional router 110. The received packet destined for a router other than the conventional router 110 is then forwarded to a packet transmitter 117 of the output interface 113 via the packet forwarder 112, and finally forwarded to external devices by the packet transmitter 117.
As described above, although the conventional router 110 can store the plural routing tables by supporting the plural routing protocols, the routing table searcher 115 can select only one routing table, which is generated by a unique routing policy, from the plural routing tables stored in the conventional router 110. Therefore, in the conventional router 110, routing of input traffic can only be performed according to a single routing policy.
FIG. 2 shows how the routing tables are handled in the conventional router 110. As shown in FIG. 2, the conventional router 110 can support various routing protocols, for example, BGP107, OSPF108, RIP109, and generates routing tables 102a, 103a, 104a based on an algorithm of each routing protocol. The routing tables 102a, 103a, 104a can be stored into a routing cache 102, 103 and 104 in the conventional router 110, respectively. A static routing table 105 that shows default routes can also be stored into a routing cache 105a. 
However, manual intervention is required to select one routing table from the routing tables 102a, 103a, 104a so that the routing table cache 106 which stores a selected routing table can recognize a routing table to be utilized. In addition, conventional router 110 may select an appropriate routing table according to a priority which is manually given to respective routing tables and the routing table is selected according to the priority and loaded into the routing table cache 106 as the routing table 106a. As a result, only a single routing table can be utilized for routing in one timeframe and it is of concern that a routing policy utilized for the packet switching network is limited to a single routing policy.
Accordingly, since the single routing policy has to be selected even the optimum routing policy differs from area to area on the packet switching network. It is therefore a problem that the switching of a routing policy dynamically, for example, per packet or per flow cannot be achieved.
In the existing TCP/IP network, a structure of an IP address results in routing based on a physical address of a client terminal and a server, and a routing algorithm is fixed by the routing algorithm utilized by RIP or OSPF, etc. It is not therefore feasible on the network to route a specific packet via a specific path in order to achieve a certain purpose.
Moreover, since routing is performed based on a single routing policy in the conventional art, the simultaneous use of more than one route for the same destination IP address and routing to a specific device on the network per packet, per flow or per block of traffic without the knowledge of such routing process of the client terminal is not feasible. Further, the network has no right to dynamically change the routing of a packet according to a certain signal.
As described above, since only a single routing table is utilized for the actual transfer of a packet, a routing policy is decided automatically in the router that configures a conventional TCP/IP network even if the router (an interface of the router) supports plural routing protocols.
However, there is demand to change a routing policy dynamically per packet, per flow or per input interface and to apply different routing policies per routing domain in the case where the network is formed by an aggregation of routing domains.